import { fileURLToPath, URL } from 'node:url'

const { name } = require('./package');
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import qiankun from 'vite-plugin-qiankun'
import { visualizer } from 'rollup-plugin-visualizer';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    qiankun('vue3-element-admin', {
      useDevMode: true
    }),
    visualizer({
      filename: './dist/stats.html', // 输出文件路径
      open: true, // 自动打开生成的报告页面
      template: 'treemap', // 可选：'sunburst', 'circle-packing', 'treemap'
    }),
  ],
  server: {
    port: 5174,
    cors: true,
  },
  header:{
      // 重点1: 允许跨域访问子应用页面
      'Access-Control-Allow-Origin': '*',
  },
  resolve: {
    alias: {
      '@': fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  configureWebpack:{
    output: {
      // 必须打包出一个库文件
      library: `${name}`,
      // 库格式必须是 umd
      libraryTarget: 'umd', // 把子应用打包成 umd 库格式
      // jsonpFunction: `webpackJsonp_${name}`,
      chunkLoadingGlobal: `webpackJsonp_${name}`,
    },
  }
})

